package May._02.homework.work4;

import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Map;

public class Main {
    public static void main(String[] args) {
        String s = "abcd";
        String t = "baedc";
        //使用collection中的retain
        //CollectionVoid(s, t);
        //使用hashmap
        hashMapVoid(t, s);
    }

    private static void hashMapVoid(String s, String t) {

        HashMap<Character, Integer> map = new HashMap<>();
        for (int i = 0; i < s.length(); i++) {
            if (t.indexOf(s.charAt(i)) >= 0) {
                Integer orDefault = map.getOrDefault(s.charAt(i), -1);
/*                //直接整合为一句
                map.put(s.charAt(i), t.indexOf(orDefault+1, s.charAt(i)));*/
                if(orDefault==-1){
                    map.put(s.charAt(i), t.indexOf(0, s.charAt(i)));
                }else {
                    if(t.indexOf(orDefault+1,s.charAt(i))==-1){
                        System.out.println(s.charAt(i));
                        return;
                    }
                    map.put(s.charAt(i), t.indexOf(orDefault+1, s.charAt(i)));
                }
            }else {
                System.out.println(s.charAt(i));
            }

        }



    }

    private static void CollectionVoid(String s, String t) {

        LinkedList<Character> list = new LinkedList<>();
        for (int i = 0; i < s.length(); i++) {
            list.add(s.charAt(i));
        }
        LinkedList<Character> list2 = new LinkedList<>();
        for (int i = 0; i < t.length(); i++) {
            list2.add(t.charAt(i));
        }
        list2.removeAll(list);
        Character c = list2.get(0);
        System.out.println(c);
    }
}
